Technical Q&A QA1194
Saving playback hints in a Movie


Q: Åuó¨ïXí êM #11Åv Ç…ãLèqÇ≥ÇÍǃǢÇÈÇÊǧDžÅASetMoviePlayHints ä÷êîÇåƒÇ—èoÇ∑ÇΔÇ´Ç… hintsHighQuality ÉtÉâÉOÇÉZÉbÉgǵǃÅAâ¬î\Ç»å¿ÇËç≈çÇÇÃïiéøÇ≈ÉÄÅ[ÉrÅ[ÇÉåÉìÉ_ÉäÉìÉOÇ∑ÇÈÇÊǧDž QuickTime Ç…éwíËǵǃǢNjÇ∑ÅBǵǩǵÅADZÇÍÇÕÉâÉìÉ^ÉCÉÄÉvÉçÉpÉeÉBÇÃÇÊǧDžå©Ç¶Ç‹Ç∑ÅBǬNjÇËé¿ç€Ç…ÇÕÉqÉìÉgÇÕÉÄÅ[ÉrÅ[ÇΔàÍèèÇ…ï€ë∂Ç≥ÇÍǻǢÇÃÇ≈Ç∑ÅBDZÇÍÇÁÇÃÉqÉìÉgÇÉÄÅ[ÉrÅ[ÇΔàÍèèÇ…ï€ë∂Ç∑ÇÈÇ…ÇÕǫǧÇ∑ÇÍÇŒÇÊÇ¢ÇÃÇ≈ǵÇÂǧǩÅH

A: SetTrackLoadSettings ä÷êîÇégópǵǃÅAçƒê∂ÉqÉìÉgÇìKópǵÇΩÇ¢ÉgÉâÉbÉNÇéwíËǵNjÇ∑ (ÉÄÅ[ÉrÅ[ì‡Ç…ï°êîÇÃÉrÉfÉIÉgÉâÉbÉNǙdžÇËÅAÉgÉâÉbÉNÇ≤ÇΔÇ…ÉqÉìÉgÇìKópǵÇΩÇ¢èÍçáÇÕÅAÉãÅ[ÉvèàóùÇçsÇ¢ÅAäeÉgÉâÉbÉNÇ…ëŒÇµÇƒ SetTrackLoadSettings ÇåƒÇ—èoÇ∑ïKóvǙdžÇËÇ‹Ç∑ÅjÅB

íçà”:
DZÇÃï˚ñ@Ç≈çƒê∂ÉqÉìÉgÇê›íËÇ≈Ç´ÇÈÇÃÇÕÅAÉÄÅ[ÉrÅ[ÉtÉ@ÉCÉãÇ…å¿ÇÁÇÍÇ‹Ç∑ÅBê∂Çà DV ÉXÉgÉäÅ[ÉÄÉtÉ@ÉCÉãÇÃÇÊǧDžÉÄÅ[ÉrÅ[ÉtÉ@ÉCÉãÇ≈ǻǢLJÇÃÇ…ëŒÇµÇƒÅAçƒê∂ÉqÉìÉgÇê›íËÇ∑ÇÈDZÇΔÇÕÇ≈Ç´Ç‹ÇπÇÒÅB

à»â∫Ç…ÅAÉÄÅ[ÉrÅ[ì‡ÇÃç≈èâÇÃÉrÉfÉIÉgÉâÉbÉNÇå©Ç¬ÇØÇƒÅADZÇÃÉgÉâÉbÉNÇ…çÇïiéøÇÃçƒê∂ÉqÉìÉgÇìKópÇ∑ÇÈíZÇ¢ÉRÅ[ÉhÇé¶ÇµÇ‹Ç∑ÅB

 void SavePlaybackHintsToMovie(FSSpecPtr movieFile)
{
    Movie movie     = NULL;
    Track track     = NULL;
    short resRefNum = 0;
    short resId     = movieInDataForkResID;
    Str255          resName;
    OSErr           err;


    err = OpenMovieFile( movieFile, &resRefNum, fsWrPerm );
    if (err != noErr) goto bailError;

    err = NewMovieFromFile( &movie, resRefNum,
        &resId, resName, newMovieActive, NULL );
    if (err != noErr) goto bailError;

        /* ç≈èâÇÃÉrÉfÉIÉgÉâÉbÉNÇéÊìæ */
    track = GetMovieIndTrackType( movie, 1,
        VisualMediaCharacteristic,
        movieTrackCharacteristic | movieTrackEnabledOnly );
    if ( track == NULL ) goto bailError;

        /* DZÇÃÉÄÅ[ÉrÅ[Ç…çƒê∂ÉqÉìÉgÇï€ë∂ */
    SetTrackLoadSettings( track, 0, 0, 0, hintsHighQuality );
    err = GetMoviesError();
    if (err != noErr) goto bailError;

        /* DZÇÃÉÄÅ[ÉrÅ[Ç…ëŒÇ∑ÇÈïœçXÇï€ë∂ */
    err = UpdateMovieResource( movie,
        resRefNum, movieInDataForkResID, resName );
    if ( movie != NULL )
    {
        DisposeMovie( movie );
    }
    if ( resRefNum != 0 )
    {
        CloseMovieFile( resRefNum );
    }

bailError:
    ;
}

ÉäÉXÉg 1Å@SetTrackLoadSettings ÇégópǵÇΩçÇïiéøÇÃÇΩÇflÇÃÉqÉìÉgÇÃï€ë∂



 


[2002 îN 9 åé 4 ì˙]